
# 序列中的通用操作

# 1. 索引 ：seq[index]     ,index代表的是索引或下标 ，支持 ： 列表 ，元组 ，字符串
lst = ['a','c',2,5]
print(lst[1])       # 获取列表中的第二个值
print(lst[-3])

tp = ('red','green','blue',5)
print(tp[2])
print(tp[-2])

my_str = "hello world python go"
print(my_str[12])
print(my_str[-9])


# 2. 序列的切片 ： seq[start,end,step] ，start代表开始位置 ，默认从0 开始 ，end代表结束位置 ，默认序列的长度 ，step步长，默认为1
lst1 = ['red','green','blue','black','gold','orange']
print("获取第2~第5个元素:",lst1[1:5:1])
print("获取偶数的元素:",lst1[1:6:2])

print("获取奇数的元素:",lst1[::2])     # 省略了start和end
print("获取奇数的元素:",lst1[0:6:2])

print("获取第2个元素的所有元素:",lst1[1:6:1])
print("获取第2个元素的所有元素:",lst1[1::])    # 省略了end和step

print("获取偶数的元素:",lst1[1::2])

print("获取列表的所有元素:",lst1[::])


# 3. 序列的相加和相乘 ： + ，*
alst = [1,2]
blst = [3,4]
clst = alst + blst
print(clst)

astr = "hello"
bstr = 'world'
print(astr + bstr)

atp1 = (1,2)
btp1 = (3,4)
print(atp1 + btp1)
# print(atp1 + alst)

dlst = alst * 2
print(dlst)

elst = [None,] * 10
print(elst)

print("======================")
print("=" * 30)

# 4. 检查元素 ： in
dct = {'a':1,'b':2}
print("检查clst中是否包含元素3:",3 in clst)
print("检查atp1中是否包含元素3:",3 in atp1)
print("检查astr1中是否包含元素3:",'3' in astr)
print("检查dct中是否包含元素c:",'c' in dct)

# 5. 序列中的方法 ：enumerater()
lst8 = ['a','b','c',1,2]
for index,value in enumerate(lst8):
    print(index,'===',value)


"""
list()  : 创建或转化为列表
str()   : 创建或转化为字符串
tuple() : 创建或转化为元组
dict()  : 创建或转化为字典
"""
lst10 = list([1,2])
print(lst10)

print("转化元组btp1:",list(btp1))
print(btp1)
print("转化字符串astr:",list(astr))
print("转化字典dct:",list(dct))

new_str = str(lst10)
print(type(new_str))
print("转化列表lst10",new_str)      # '[1,2]'

lst11 = ['a','b']
print("转化列表lst10",tuple(lst10))
print("转化列表lst10",dict(['a','b'],[1,2]))